package com.boco.ibssystem.business.controller.ylfwjg;


import com.boco.biinjectionserviceapi.vo.Params;
import com.boco.ibssystem.business.service.IYlzlService;
import com.boco.ibssystem.business.vo.ResData;
import com.boco.ibssystem.business.vo.ZlzlVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * 医疗服务监管-医疗质量
 * @author linyifeng
 * @date 2019/5/12
 */
@RestController
@RequestMapping("/ylzl")
@Api(tags = "医疗质量")
public class YlzlController {

    @Autowired
    private IYlzlService ylzlService;


    /**
     * 合理用药-住院患者抗菌药物使用强度
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-住院患者抗菌药物使用强度")
    @RequestMapping(value = "kjywSyqd",method = {RequestMethod.POST,RequestMethod.GET})
    public Object kjywSyqd(@ApiParam(required = false) Params params){
        return ylzlService.kjywSyqd(params);

    }


    /**
     * 合理用药-抗菌药物收入（Top10）
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-抗菌药物收入（Top10）")
    @RequestMapping(value = "kjywShouru",method = {RequestMethod.POST,RequestMethod.GET})
    public Object kjywShouru(@ApiParam(required = false) Params params) {
        return ylzlService.kjywShouru(params);

    }


    /**
     * 合理用药-药品收入占医疗费用比例
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-药品收入占医疗费用比例")
    @RequestMapping(value = "ypsrBili",method = {RequestMethod.POST,RequestMethod.GET})
    public ResData ypsrBili(@ApiParam(required = false) Params params){
        return ylzlService.ypsrBili(params);
    }

    /**
     * 合理用药-住院患者抗菌药物使用率
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-住院患者抗菌药物使用率")
    @RequestMapping(value = "kjywSyl",method = {RequestMethod.POST,RequestMethod.GET})
    public ResData kjywSyl(@ApiParam(required = false) Params params){
        return ylzlService.kjywSyl(params);
    }


    /**
     * 合理用药-门诊抗菌药物处方比
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-门诊抗菌药物处方比")
    @RequestMapping(value = "kjywCfb",method = {RequestMethod.POST,RequestMethod.GET})
    public ResData kjywCfb(@ApiParam(required = false) Params params){
        return ylzlService.kjywCfb(params);
    }


    /**
     * 合理用药-数据统计
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-数据统计")
    @RequestMapping(value = "hlyySjtj",method = {RequestMethod.POST,RequestMethod.GET})
    public Map hlyySjtj(@ApiParam(required = false) Params params){
        return ylzlService.hlyySjtj(params);
    }

    /**
     * 诊疗质量-住院危急疑患者抢救数
     * @param params
     * @return
     */
    @ApiOperation(value = "诊疗质量-住院危急疑患者抢救数")
    @RequestMapping(value = "zywjQjs",method = {RequestMethod.POST,RequestMethod.GET})
    public List<ZlzlVO> zywjQjs(@ApiParam(required = false) Params params){
        return ylzlService.zywjQjs(params);
    }

    /**
     * 诊疗质量-出院患者平均住院日(Top5)
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-出院患者平均住院日(Top5)")
    @RequestMapping(value = "cyhzPjzyr",method = {RequestMethod.POST,RequestMethod.GET})
    public List<ZlzlVO> cyhzPjzyr(@ApiParam(required = false) Params params){
        return ylzlService.cyhzPjzyr(params);
    }

    /**
     * 诊疗质量-出院患者手术占比
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-出院患者手术占比")
    @RequestMapping(value = "cyhzSszb",method = {RequestMethod.POST,RequestMethod.GET})
    public ZlzlVO cyhzSszb(@ApiParam(required = false) Params params){
        return ylzlService.cyhzSszb(params);
    }

    /**
     * 诊疗质量-治愈率
     * @param params
     * @return
     */
   /* @ApiOperation(value = "合理用药-治愈率")
    @RequestMapping(value = "zyl",method = {RequestMethod.POST,RequestMethod.GET})
    public ZlzlVO zyl(@ApiParam(required = false) Params params){
        return ylzlService.zyl(params);
    }

    *//**
     * 诊疗质量-住院危急重抢救成功率
     * @param params
     * @return
     *//*
    @ApiOperation(value = "合理用药-住院危急重抢救成功率")
    @RequestMapping(value = "zywjCgl",method = {RequestMethod.POST,RequestMethod.GET})
    public ZlzlVO zywjCgl(@ApiParam(required = false) Params params){
        return ylzlService.zywjCgl(params);
    }

    *//**
     * 诊疗质量-住院患者病死率
     * @param params
     * @return
     *//*
    @ApiOperation(value = "合理用药-住院患者病死率")
    @RequestMapping(value = "zyhzBsl",method = {RequestMethod.POST,RequestMethod.GET})
    public ZlzlVO zyhzBsl(@ApiParam(required = false) Params params){
        return ylzlService.zyhzBsl(params);
    }

    *//**
     * 诊疗质量-入院与出院诊断符合率
     * @param params
     * @return
     *//*
    @ApiOperation(value = "合理用药-入院与出院诊断符合率")
    @RequestMapping(value = "zdfhl",method = {RequestMethod.POST,RequestMethod.GET})
    public ZlzlVO zdfhl(@ApiParam(required = false) Params params){
        return ylzlService.zdfhl(params);
    }*/
    /**
     * 诊疗质量-诊疗质量详情统计
     * @param params
     * @return
     */
    @ApiOperation(value = "合理用药-诊疗质量详情统计")
    @RequestMapping(value = "zlzlXqtj",method = {RequestMethod.POST,RequestMethod.GET})
    public ZlzlVO zlzlXqtj(@ApiParam(required = false) Params params){
        return null;
    }



}
